/* 常用工具类
- convertCode2Name：从指定字典中将key转换为对应的名称
-

*/

/**
 * 从指定字典中将key转换为对应的名称
 * 示例：let dic = [ {label:'国家目录',value:'nation'},{ label:'省级目录',value:'province' },{label:'市级目录',value:'city'}]
 * let ret = convertCode2Name(dic,'city','value','label') // ret = 市级目录
 * @param list 存储数据的array 
 * @param key  需要匹配的值
 * @param matchedField 和指定的key匹配的字段名称
 * @param displayField 转换后待显示的字段名称
 * @param defaultValue 默认值为空字符串，可以忽略
 */
export const convertCode2Name = (list: any[], key: any, matchedField: string, displayField: string, defaultValue: any = '') => {
    if (key != undefined && key != null && Array.isArray(list) && list.length > 0) {
        if (list.find(item => item[matchedField] == key)) {
            let obj = list.find(item => item[matchedField] == key) // find返回对象的第一个值
            if (obj) {
                return obj[displayField]
            }
        }
        return key
    }
    return defaultValue
}

